home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
FAQSYS18.ZIP
/
FAQS.DAT
/
VESA.TXT
< prev
next >
Wrap
Text File
|
1996-01-04
|
13KB
|
326 lines
The VESA BIOS interface is a software interface for detection capabilities,
setting modes and setting the bank register.
VESA 1.0 VESA Standard #VS891001
VESA 1.1 VESA Standard #VS900602
VESA 1.2 VESA Standard #VS911022
VESA 2.0 VESA Standard
----------104F00-----------------------------
INT 10 - VESA SuperVGA BIOS - GET SuperVGA INFORMATION
AX = 4F00h
ES:DI -> 256-byte buffer for SuperVGA information (see below)
Return: AL = 4Fh function supported
AH = status
00h successful
01h failed
02h (VBE 2) function not supported by current hardware config
03h (VBE 2) function invalid in current mode
Format of SuperVGA information:
Offset Size Description
00h 4 BYTEs Signature ('VESA'). For VBE 2.0 this field must be set to
"VBE2" before the call to fill in the version 2.0 fields
04h WORD VESA version number
06h DWORD pointer to OEM name
0Ah 4 BYTEs capabilities.
Bit 0 Set if the DAC can switch width, clear if it is
fixed 6bits per primary color
1 (VBE2) non-VGA controller
2 (VBE2) Programmed DAC with blank bit
0Eh DWORD pointer to list of supported VESA and OEM video modes
Terminated with 0FFFFh.
12h WORD Video memory in 64k blocks
--- VBE v2.0 ---
14h WORD OEM software version
16h DWORD Pointer to vendor name
1Ah DWORD Pointer to product name
1Eh DWORD Pointer to product revision string
100h 256 BYTEs OEM scratchpad
The buffer is defined as 256bytes for version 1.0 & 1.2, 262 bytes for version
1.1 and 512 bytes for version 2.0. Note: Some VESA drivers have been known to
write beoynd the end of the official buffer.
----------104F01-----------------------------
INT 10 - VESA SuperVGA BIOS - GET SuperVGA MODE INFORMATION
AX = 4F01h
CX = SuperVGA video mode
ES:DI -> 256-byte buffer mode information (see below)
Return: AL = 4Fh function supported
AH = status
00h successful
01h failed
Format of mode information:
Offset Size Description
00h WORD mode attributes
bit 0: mode supported if set
1: optional information available if set
2: BIOS output supported if set
3: set if color, clear if monochrome
4: set if graphics mode, clear if text mode
5: (VBE2) non-VGA mode
6: (VBE2) No bank swiotching supported
7: (VBE2) Linear framebuffer mode supported
02h BYTE window A attributes
bit 0: exists if set
1: readable if set
2: writable if set
bits 3-7 reserved
03h BYTE window B attributes (as for window A)
04h WORD window granularity in K
06h WORD window size in K
08h WORD start segment of window A
0Ah WORD start segment of window B
0Ch DWORD -> FAR window positioning function (equivalent to AX=4F05h)
10h WORD bytes per scan line
---remainder is optional for VESA modes, needed for OEM modes---
12h WORD width in pixels
14h WORD height in pixels
16h BYTE width of character cell in pixels
17h BYTE height of character cell in pixels
18h BYTE number of memory planes
19h BYTE number of bits per pixel
1Ah BYTE number of banks
1Bh BYTE memory model type
0 Text
1 CGA graphics
2 Hercules Graphics
3 EGA 16 color
4 Packed pixels
5 Non chain 4 256 color modes
6 Direct 15/16/24 bit
7 YUV (luminance-chrominance, alos called YIQ)
8-0Fh Reserved for VESA
10h-0FFh Reserved for OEM
1Ch BYTE size of bank in K
1Dh BYTE number of image pages
1Eh BYTE reserved(1)
------VBE v1.2+ --------------------------
1Fh BYTE Red mask size
20h BYTE Red mask position
21h BYTE Green mask size
22h BYTE Green mask position
23h BYTE Blue mask size
24h BYTE Blue mask position
25h BYTE Reserved mask size
26h BYTE Reserved mask position
27h BYTE Direct Screen mode info
Bit 0 If set the color ramp is programmable, if clear fixed
1 If set the reserved field (as defined by Bytes 25-26h)
can be used by the application, if clear the field is
truly reserved.
--- VBE v2.0 ---
28h DWORD Physical address of linear video buffer
2Ch DWORD Pointer to start of offscreen memory
30h WORD Offscreen memory in Kbytes
The buffer is defined as 256bytes
----------104F02-----------------------------
INT 10 - VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE
AX = 4F02h
BX = mode
bit 15 set means don't clear video memory
bit 14 (VBE2) set to enable linear framebuffer mode
Return: AL = 4Fh function supported
AH = status
00h successful
01h failed
Values for VESA video mode:
00h-FFh OEM video modes (see AH=00h)
100h 640x400x256
101h 640x480x256
102h 800x600x16
103h 800x600x256
104h 1024x768x16
105h 1024x768x256
106h 1280x1024x16
107h 1280x1024x256
108h 80x60 text
109h 132x25 text
10Ah 132x43 text
10Bh 132x50 text
10Ch 132x60 text
------------ VBE v1.2+ ------------------
10Dh 320x200 32k
10Eh 320x200 64k
10Fh 320x200 16M
110h 640x480 32k
111h 640x480 64k
112h 640x480 16M
113h 800x600 32k
114h 800x600 64k
115h 800x600 16M
116h 1024x768 32k
117h 1024x768 64k
118h 1024x768 16M
119h 1280x1024 32k
11Ah 1280x1024 64k
11Bh 1280x1024 16M
------------ VBE 2.0 --------------------
81FFh Special full-memory access mode
Mode 81FFh preserves the contents of video memory and gives access to
the entire video memory. It is recommanded that mode 81FFh should be a
packed pixel mode.
----------104F03-----------------------------
INT 10 - VESA SuperVGA BIOS - GET CURRENT VIDEO MODE
AX = 4F03h
Return: AL = 4Fh function supported
AH = status
00h successful
01h failed
BX = video mode (see AX=4F02h)
----------104F04-----------------------------
INT 10 - VESA SuperVGA BIOS - SAVE/RESTORE SuperVGA VIDEO STATE
AX = 4F04h
DL = subfunction
00h get state buffer size
Return: BX = number of 64-byte blocks needed
01h save video states
ES:BX -> buffer
02h restore video states
ES:BX -> buffer
CX = flags for states to save/restore
bit 0: video hardware state
bit 1: video BIOS data state
bit 2: video DAC state
bit 3: SuperVGA state
Return: AL = 4Fh function supported
AH = status
00h successful
01h failed
----------104F05-----------------------------
INT 10 - VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL
AX = 4F05h
BH = subfunction
00h select video memory window
DX = window address in video memory (in granularity units)
01h get video memory window
Return: DX = window address in video memory (in gran. units)
BL = window number
00h window A
01h window B
Return: AL = 4Fh function supported
AH = status
00h successful
01h failed
----------104F06-----------------------------
INT 10 - VESA SuperVGA BIOS 1.1+ - GET/SET LOGICAL SCAN LINE LENGTH
AX = 4F06h
BL = function
00h set scan line length
CX = desired width in pixels
01h get scan line length
02h (VBE 2) set scan line length
CX = desired width in bytes
03h (VBE 2) get maximum scan line length
Return: AL = 4Fh if function supported
AH = status
00h successful
01h failed
BX = bytes per scan line
Maximum bytes per scan line for function 03h
CX = number of pixels per scan line
Maximum pixels per scan line for function 03h
DX = maximum number of scan lines
Unchaqnged for function 03h
Notes: if the desired width is not achievable, the next larger width will be
set. The scan line may be wider than the visible area of the screen
this function is valid in text modes, provided that values are
multiplied by the character cell width/height
----------104F07BH00-------------------------
INT 10 - VESA SuperVGA BIOS 1.1+ - GET/SET DISPLAY START
AX = 4F07h
BH = 00h (reserved)
BL = 00h (or 80h) set display start
CX = leftmost displayed pixel in scan line
DX = first displayed scan line
= 01h get display start
Return: BH = 00h
CX = leftmost displayed pixel in scan line
DX = first displayed scan line
Return: AL = 4Fh if function supported
AH = status
00h successful
01h failed
Note: this function is valid in text modes, provided that values are
multiplied by the character cell width/height
----------104F08-----------------------------
INT 10 - VESA SuperVGA BIOS v1.2+ - GET/SET DAC PALETTE CONTROL
AX = 4F08h
BL = function
00h Set DAC palette width
BH = desired number of bits per primary color.
01h Get DAC palette width
Return: AL = 4Fh if function supported
AH = status
BH = Current number of bits per primary color (6 = Standard VGA)
----------104F09-----------------------------
INT 10 - VESA SuperVGA BIOS v2.0+ - GET/SET PALETTE ENTRIES
AX = 4F09h
BL = function
00h set palette
01h get palette
02h set secondary palette data
03h get secondary palette data
80h set palette during vertical retrace
CX = number of entries to change
DX = starting palette index
ES:DI -> palette buffer (array of 4 bytes per entry)
Offset Size Description
00h BYTE Red byte
01h BYTE Green byte
02h BYTE Blue byte
03h BYTE Alpha or alignment byte
Return: AL = 4Fh if function supported
AH = status
00h successful
01h failed
----------104F0A-----------------------------
INT 10 - VESA SuperVGA BIOS v2.0+ - GET PROTECTED-MODE CODE
AX = 4F0Ah
BX = function to be copied
0001h set bank
0002h set display start
0003h set palette
Return: AL = 4Fh if function supported
AH = status
00h successful
CX = number of bytes to copy
ES:DI -> code for requested function
01h failed
----------104F10-----------------------------
INT 10 - VESA DPMS - Display Power Management Extensions
AX = 4F10h
BL = 00h Report VBE/PM Capabilities
ES:DI = 0000h:0000h
Return: BH = Power saving state signals supported:
Bit 0 STAND BY supported if set
1 SUSPEND supported if set
2 OFF supported if set
3 REDUCED On supported if set
(Not supported in DPMS 1.0)
BL = VBE/PM Version number:
Bit 0-3 Minor version
4-7 Major version
01h Set Display Power State
BH = Requested Power State:
00h ON
01h STAND BY
02h SUSPEND
04h OFF
08h REDUCED ON (for flat screens)
02h Get Display Power State
Return: BH = Display Power State
00h ON
01h STAND BY
02h SUSPEND
04h OFF
08h REDUCED ON (for flat screens)
Return: AL = 4Fh if function supported
AH = status
----------104FFF-----------------------------
INT 10 - VESA SuperVGA BIOS - Everex - TURN VESA ON/OFF
AX = 4FFFh
DL = new state (00h off, 01h on)